#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>

#define PADDING 5
#define WIDTH 150
#define HEIGHT 24
#define CMD_SUFFIX " &> /dev/null &"

#define VERSION "1.0"
#define VERSION_PRINTF "PLZWAIT v%s\nCopyright (c) 2007 Bob Majdak Jr <bob@kateos.org>\nReleased under the BSD License.\n"

#define YARLY TRUE
#define NOWAI FALSE
#define NULZ NULL
#define KTHXBAI return

typedef struct _argc_argv {

	unsigned char version:1;
	unsigned char help:1;
	unsigned char unknown:1;
	unsigned char show_window_border:1;
	
	char *command;
	char *message;
	unsigned int time;
	unsigned int width;
	unsigned int height;
	unsigned int padding;

} argstruct;

typedef struct _plzwait_dialog {

	GtkWidget *window;
	GtkWidget *vbox;
	GtkWidget *progress;
	

	unsigned int time;
	unsigned char current;

} plzwaitDialog;

argstruct *arg;

argstruct * argc_argv_parse(int, char **);
void plzwait_dialog_new(plzwaitDialog *);
void plzwait_kthxbai(plzwaitDialog *);
void plzwait_mktime(plzwaitDialog *);
void plzwait_poke(GtkWidget *, GdkEventKey *, plzwaitDialog *);
gboolean plzwait_ktrynow(plzwaitDialog *);
